import request from '../MainService';
import { IPageParams } from './common';

export interface IMonitor {
  /**
   * 账号
   */
  accounts?: string;

  /**
   * 品牌
   */
  brandId: number;

  /**
   * 设备通道
   */
  channel: string

  /**
   * 设备编号
   */
  deviceCode:	string

  /**
   * 设备型号
   */
  deviceModelId: number;

  /**
   * ip地址
   */
  ip: string;

  /**
   * 监控名称
   */
  name: string;

  /**
   * 密码
   */
  password: string;

  /**
   * 状态
   */
  status: number;
}

/**
 * 监控设备API类
 */
export default class MonitorApi {
  /**
   * 分页获取监控设备
   * @param params 分页参数
   */
  public getByPage(params: IPageParams) {
    return request({
      url: "/cameras",
      method: "GET",
      params
    });
  }

  /**
   * 根据id获取监控设备
   * @param id 监控设备id
   */
  public getById(id: number) {
    return request({
      url: "/cameras/" + id,
      method: "GET"
    });
  }

  /**
   * 创建监控设备
   * @param data 监控数据
   */
  public postMonitor(data: IMonitor) {
    return request({
      url: "/cameras",
      method: "POST",
      data
    });
  }

  /**
   * 修改监控数据
   * @param id 监控设备id
   * @param data 监控设备数据
   */
  public putMonitor(id: number, data: IMonitor) {
    return request({
      url: "/cameras/" + id,
      method: "PUT",
      data
    });
  }

  /**
   * 删除监控设备
   * @param id 监控id
   */
  public deleteMonitor(id: number) {
    return request({
      url: "/cameras/" + id,
      method: "DELETE"
    });
  }
}